package com.biz.primus.ms.commodity.dao.po;


import com.biz.primus.base.enums.commodity.IStatus;
import com.biz.primus.ms.base.jpa.po.BaseEntity;

import javax.persistence.Column;
import javax.persistence.Convert;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;

@Entity
@Table(name = "pro_keyword_weight_config")
public class KeywordWeightConfig extends BaseEntity implements Serializable {

    /**
     * 权重配置名称
     */
    @Column(nullable = false,length = 50)
    private String configName;

    /**
     * 简介
     */
    @Column
    private String brief;

    /**
     * 删除标识(默认是未删除)
     */
    @Column(nullable = false)
    private Boolean deleteFlag = Boolean.FALSE;

    /**
     * 状态
     */
    @Column
    @Convert(converter = IStatus.Converter.class)
    private IStatus status;

    /**
     * 关键词搜索相关权重
     */


    /**
     * 品牌名称权重
     */
    @Column(nullable = false)
    private Double brandNameWeight;

    /**
     * 商品名称完全匹配权重
     */
    @Column(nullable = false)
    private Double productNameWeight;

    /**
     * B商品类型权重
     */
    @Column(nullable = false)
    private Double productTypeBWeight;

    /**
     * 门店有库存权重,立即送
     */
    @Column(nullable = false)
    private Double depotHasStockWeight;


    /**
     * seo信息权重
     */
    @Column(nullable = false)
    private Double seoTitleWeight;

    @Column(nullable = false)
    private Double seoKeywordsWeight;

    @Column(nullable = false)
    private Double seoDescriptionWeight;

    /**
     * 非关键词搜索权重
     * 默认排序或其他排序时生效
     */


    /**
     * B类商品型权重
     */
    @Column(nullable = false)
    private Double productTypeBSortWeight;

    /**
     * 销量权重  分值等于 权重乘以销量数值
     */
    @Column(nullable = false)
    private Double salesVolumeSortWeight;

    /**
     * 门店有库存权重,立即送
     */
    @Column(nullable = false)
    private Double depotHasStockSortWeight;

    public Double getBrandNameWeight() {
        return brandNameWeight;
    }

    public void setBrandNameWeight(Double brandNameWeight) {
        this.brandNameWeight = brandNameWeight;
    }

    public Double getProductNameWeight() {
        return productNameWeight;
    }

    public void setProductNameWeight(Double productNameWeight) {
        this.productNameWeight = productNameWeight;
    }

    public Double getProductTypeBWeight() {
        return productTypeBWeight;
    }

    public void setProductTypeBWeight(Double productTypeBWeight) {
        this.productTypeBWeight = productTypeBWeight;
    }

    public Double getDepotHasStockWeight() {
        return depotHasStockWeight;
    }

    public void setDepotHasStockWeight(Double depotHasStockWeight) {
        this.depotHasStockWeight = depotHasStockWeight;
    }

    public Double getProductTypeBSortWeight() {
        return productTypeBSortWeight;
    }

    public void setProductTypeBSortWeight(Double productTypeBSortWeight) {
        this.productTypeBSortWeight = productTypeBSortWeight;
    }

    public Double getSalesVolumeSortWeight() {
        return salesVolumeSortWeight;
    }

    public void setSalesVolumeSortWeight(Double salesVolumeSortWeight) {
        this.salesVolumeSortWeight = salesVolumeSortWeight;
    }

    public Double getDepotHasStockSortWeight() {
        return depotHasStockSortWeight;
    }

    public void setDepotHasStockSortWeight(Double depotHasStockSortWeight) {
        this.depotHasStockSortWeight = depotHasStockSortWeight;
    }

    public String getConfigName() {
        return configName;
    }

    public void setConfigName(String configName) {
        this.configName = configName;
    }

    public String getBrief() {
        return brief;
    }

    public void setBrief(String brief) {
        this.brief = brief;
    }

    public Boolean getDeleteFlag() {
        return deleteFlag;
    }

    public void setDeleteFlag(Boolean deleteFlag) {
        this.deleteFlag = deleteFlag;
    }

    public IStatus getStatus() {
        return status;
    }

    public void setStatus(IStatus status) {
        this.status = status;
    }

    public Double getSeoTitleWeight() {
        return seoTitleWeight;
    }

    public void setSeoTitleWeight(Double seoTitleWeight) {
        this.seoTitleWeight = seoTitleWeight;
    }

    public Double getSeoKeywordsWeight() {
        return seoKeywordsWeight;
    }

    public void setSeoKeywordsWeight(Double seoKeywordsWeight) {
        this.seoKeywordsWeight = seoKeywordsWeight;
    }

    public Double getSeoDescriptionWeight() {
        return seoDescriptionWeight;
    }

    public void setSeoDescriptionWeight(Double seoDescriptionWeight) {
        this.seoDescriptionWeight = seoDescriptionWeight;
    }
}
